為什麼要有繼承機制(Inheritance)?
繼承是物件導向(OOP)的核心特性之一,允許衍生類別(子類別)繼承基底類別(父類別)的欄位、屬性與方法。
通化(Generalization)與特化(Specialization)
繼承關係本質上是抽象與具體之間的雙向轉換過程:
組合關係(Composition / Has-a)與繼承(Inheritance / Is-a)的比較
物件導向設計原則強調「組合優於繼承(Favor composition over inheritance)」,兩者核心概念與區別如下:
繼承範例(is-a / 通化與特化):
組合範例(has-a):